package com.ccys.db.vo.member;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@ApiModel("注册成功模型VO")
@EqualsAndHashCode(callSuper = false)
public class RegisterVO implements Serializable {
        @JsonProperty("access_token")
        private String accessToken;

        @JsonProperty("member_id")
        private String memberId;

        @JsonProperty("code")
        private String code;

        @JsonProperty("first_name")
        private String firstName;

        @JsonProperty("last_name")
        private String lastName;

        @JsonProperty("email")
        private String email;

        @JsonProperty("nric_fin")
        private String nricFin;

        @JsonProperty("phone")
        private String phone;

        @JsonProperty("home_address")
        private String homeAddress;

        @JsonProperty("office_address")
        private String officeAddress;

        @JsonProperty("gender")
        private String gender;

        @JsonProperty("gender_db")
        private int genderDb;

        @JsonProperty("date_of_birth")
        private String dateOfBirth;

        @JsonProperty("age")
        private String age;

        @JsonProperty("reg_date")
        private String regDate;

        @JsonProperty("rebuy_count")
        private int rebuyCount;

        @JsonProperty("country_of_residence")
        private int countryOfResidence;

        @JsonProperty("language_code")
        private String languageCode;

        @JsonProperty("singpass_uuid")
        private String singpassUuid;

        @JsonProperty("nationality")
        private String nationality;

        @JsonProperty("phone_country_id")
        private int phoneCountryId;

        @JsonProperty("emergency_phone_country_id")
        private Integer emergencyPhoneCountryId;

        @JsonProperty("profile_photo")
        private String profilePhoto;

        @JsonProperty("front_identification_card_photo")
        private String frontIdentificationCardPhoto;

        @JsonProperty("back_identification_card_photo")
        private String backIdentificationCardPhoto;

        @JsonProperty("passport_photo")
        private String passportPhoto;

        @JsonProperty("front_of_driving_license_photo")
        private String frontOfDrivingLicensePhoto;

        @JsonProperty("back_of_driving_license_photo")
        private String backOfDrivingLicensePhoto;

        @JsonProperty("child_photo")
        private String childPhoto;

        @JsonProperty("type_id")
        private String typeId;

        @JsonProperty("emergency_first_name")
        private String emergencyFirstName;

        @JsonProperty("emergency_last_name")
        private String emergencyLastName;

        @JsonProperty("emergency_phone")
        private String emergencyPhone;

        @JsonProperty("emergency_relationship")
        private String emergencyRelationship;

        @JsonProperty("emergency_relationship_id")
        private Integer emergencyRelationshipId;

        @JsonProperty("request_update_contact_info")
        private boolean requestUpdateContactInfo;

        @JsonProperty("request_activate_account")
        private boolean requestActivateAccount;

        @JsonProperty("for_child_that_turned_21")
        private boolean forChildThatTurned21;

        @JsonProperty("g6pd")
        private String g6pd;

        @JsonProperty("pregnant")
        private String pregnant;

        @JsonProperty("childs")
        private String childs;

        @JsonProperty("allergies")
        private String[] allergies;

        @JsonProperty("medication_reactions")
        private String medicationReactions;

        @JsonProperty("individual_consult_fee")
        private double individualConsultFee;

        @JsonProperty("corporate")
        private String corporate;

        @JsonProperty("subscription")
        private String subscription;

        @JsonProperty("reminder")
        private ReminderVO reminder;

        @JsonProperty("consult_address")
        private ConsultAddressVO consultAddress;

        @JsonProperty("pending_nric")
        private String pendingNric;
}